SQL Serverの概要把握~Editions and supported features of SQL Server 2019 (15.x)~
前段
そしてAzure SQLは世の中一般的なソリューションである.
クラウドはサーバー自体を論理化, 仮想化することで, 自動化, 管理工数を減らして便利にした.
一方で本質的なコア技術や基礎領域への理解が浅いままだと, 応用展開を行うことは難しい.
SQL Serverの概要を理解してみる.
Document
本論
SQL Server 2019 (15.x)の概要, 歴史
https://gyazo.com/9f86a3bd9291db47db562c31ede7fb63
https://gyazo.com/c9557d247e52bffc7d4138f2c77ebc2d
(動画から抜粋. 動画がすごくまとめられていてよかった.)
2017でLinux上での動作が可能となり, 2019には大規模処理(Hadoop, Spark), ContainerやKubernetesでのオーケストレーション, 多様な言語での処理が可能になった.
SQL Server にはユースケースに応じたエディションが用意されている(Enterprise, Standard, Web, Developer, Express Edition) .
SQL Serverの環境準備, 環境設定
SQL Serverに直接接続するサーバー, コンピュータにSQL Serverクライアントコンポーネントをインストール.
コンポーネントには下位互換, データ管理ツール, 接続管理ツール, ソフトウェア開発キット, リファレンス等の開発, 運用に必要なツールが一式揃っている.
インストールに含めるコンポーネントを選択することも可能.
サーバー コンポーネント: SQL Server データベース エンジン, Analysis Services, Reporting Services, Integration Services, マスター データ サービス, Machine Learning Services (データベース内), Machine Learning Server (スタンドアロン)
管理ツール: SQL Server Management Studio, SQL Server 構成マネージャー, SQL Server プロファイラー, データベース エンジン チューニング アドバイザー, Data Quality クライアント, SQL Server Data Tools, 接続コンポーネント
各エディション毎の非機能要件
スケールの制限, RDBMS の高可用性, RDBMS のスケーラビリティとパフォーマンス, RDBMS のセキュリティ, レプリケーション, 管理ツール, RDBMS の管理の容易性, 開発ツール, Programmability, データ ウェアハウス, 空間およびロケーション サービス
各要件で設定できる代表的な詳細項目
スケールの制限... 格納データ, 計算時の利用メモリの容量指定
RDBMS の高可用性... バックアップ, フェールオーバーなどのフォールトトレランス
RDBMS のスケーラビリティとパフォーマンス... インデックス, I/O管理, 自動チューニング
RDBMS のセキュリティ... 暗号化, データマスク, 権限管理
レプリケーション... どのレベルで, どんな形でレプリケーションを実施するかの設定
管理ツール... 構成管理, 分散再生で利用できる機能の指定, データベースチューニングのアドバイス
RDBMS の管理の容易性... UI有無, Powershell script有無, policy管理, レポーティング
開発ツール... Microsoft Visual Studio, Intellisense (Transact-SQL および MDX)
Programmability... R, Python, JSON, Java
データ ウェアハウス... 自動生成ステージングとデータ ウェアハウス スキーマ, スター結合クエリ最適化
空間およびロケーション サービス...空間インデックス, 平面データ型と測地データ型
SQL Server 2019 (15.x) の新機能
最新版には新機能が追加されている, 目を通しておける良い.
https://gyazo.com/f5155023fa6e38ceaa1e39c9c9053d56
メモリアーキテクチャを改善して, パフォーマンスを改善した. データの暗号化を行ってセキュリティレベルを上げた. SQL Serverにてビッグデータクラスター処理が可能となった, Polybaseを使って外部データ・リソースとのコラボレーションやELTのパイプライン構築, SparkやHDFSとのコラボレーションによって可能となった.
SQL Server ビッグ データ クラスターとは
SQL Server上のRDB内のデータを他計算リソースと組み合わせて分散, 高速処理を試みている.
パッと見たときはSQLサーバーに分散処理...??となっていたが, あくまで組み合わせるアーキテクチャ方針.
SQL Server 2019 (15.x) 以降、SQL Server ビッグ データ クラスターを使用すると、Kubernetes 上で動作する SQL Server、Spark、および HDFS コンテナーのスケーラブルなクラスターを展開できます...SQL Server ビッグ データ クラスターは、Kubernetes によって調整された Linux コンテナーのクラスター
https://gyazo.com/086f2569c46d552088ff99046e41a992
雑記
SQL serverとは単なるDatabase engineではない. Database周辺の管理, デプロイ, データバックアップなどを運用コストなどを含めて設計された, 包括的なサービスである.
SQL server自体の歴史は古く, Microsoftがサービス開始を始めた当初を軸足にして進化, 発展してきた. クラウド化, デプロイオプション, ビッグデータ対応のためのクラスター化, 他ソリューション(コンポーネント)との組み合わせなど.